|
Menyplacering |
---|
Draft → Clone |
Arbetsbänkar |
Draft, Arch |
Standard genväg |
Ingen |
Introducerad i version |
- |
Se även |
Draft Scale |
The Draft Clone command creates linked copies, clones, of selected objects. The shape of a clone is parametric, it will update if its source object changes. But a clone does have its own position, rotation, and scale, and its own View properties. For BIM objects the command creates a special type of clone: an Arch clone.
The command can be used on 2D objects created with the Draft Workbench or Sketcher Workbench, but also on many 3D objects such as those created with the Part Workbench, PartDesign Workbench or BIM Workbench. Clones of 2D objects can be used in PartDesign Bodies.
Draft Clone next to its source object
See also: Property editor.
An object created with the Draft Clone command is derived from a Part Part2DObject, a Part Feature object or, if an Arch Clone is created, from the object type of the source object. It inherits all properties from that object. A clone derived from one of the first two objects also has the following additional properties:
Draft
Bool
): specifies if overlapping shapes in the clone are fused or not.LinkListGlobal
): specifies the objects that are cloned.Vector
): specifies the X, Y and Z scale factors.See also: Autogenerated API documentation and FreeCAD Scripting Basics.
To create a clone use the make_clone
method (introduced in version 0.19) of the Draft module. This method replaces the deprecated clone
method.
cloned_object = make_clone(obj, delta=None, forcedraft=False)
obj
contains the objects to be cloned. It is either a single object or a list of objects.delta
is the displacement vector to be applied to the clone.forcedraft
is False
and obj
contains a single BIM object, an Arch Clone is created. Set forcedraft
to True
to create a Draft Clone instead.cloned_object
is returned with the clone object.Example:
import FreeCAD as App
import Draft
doc = App.newDocument()
place = App.Placement(App.Vector(1000, 0, 0), App.Rotation())
polygon1 = Draft.make_polygon(3, 750)
polygon2 = Draft.make_polygon(5, 750, placement=place)
vector = App.Vector(2600, 500, 0)
cloned_object = Draft.clone([polygon1, polygon2], delta=vector)
cloned_object.Fuse = True
doc.recompute()